
// Boost Includes ==============================================================
#include <boost/python.hpp>
#include <boost/cstdint.hpp>

// Includes ====================================================================
#include <OpenSG/OSGVector.h>
#include <VecStorageWrappers.h>

// Using =======================================================================
using namespace boost::python;

// Module ======================================================================
void Export_src_pyste_VecStorage3()
{
    class_< osg::VecStorage3<unsigned char>, boost::noncopyable >("osg_VecStorage3_osg_UInt8", init<  >())
        .def("setValues", &osg::VecStorage3<unsigned char>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::UInt8> )
        .def("x", &osg::VecStorage3<unsigned char>::x)
        .def("y", &osg::VecStorage3<unsigned char>::y)
        .def("z", &osg::VecStorage3<unsigned char>::z)
    ;

    class_< osg::VecStorage3<short int>, boost::noncopyable >("osg_VecStorage3_osg_Int16", init<  >())
        .def("setValues", &osg::VecStorage3<short int>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::Int16> )
        .def("x", &osg::VecStorage3<short int>::x)
        .def("y", &osg::VecStorage3<short int>::y)
        .def("z", &osg::VecStorage3<short int>::z)
    ;

    class_< osg::VecStorage3<long double>, boost::noncopyable >("osg_VecStorage3_osg_Real128", init<  >())
        .def("setValues", &osg::VecStorage3<long double>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::Real128> )
        .def("x", &osg::VecStorage3<long double>::x)
        .def("y", &osg::VecStorage3<long double>::y)
        .def("z", &osg::VecStorage3<long double>::z)
    ;

    class_< osg::VecStorage3<signed char>, boost::noncopyable >("osg_VecStorage3_osg_Int8", init<  >())
        .def("setValues", &osg::VecStorage3<signed char>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::Int8> )
        .def("x", &osg::VecStorage3<signed char>::x)
        .def("y", &osg::VecStorage3<signed char>::y)
        .def("z", &osg::VecStorage3<signed char>::z)
    ;

    class_< osg::VecStorage3<short unsigned int>, boost::noncopyable >("osg_VecStorage3_osg_UInt16", init<  >())
        .def("setValues", &osg::VecStorage3<short unsigned int>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::UInt16> )
        .def("x", &osg::VecStorage3<short unsigned int>::x)
        .def("y", &osg::VecStorage3<short unsigned int>::y)
        .def("z", &osg::VecStorage3<short unsigned int>::z)
    ;

    class_< osg::VecStorage3<double>, boost::noncopyable >("osg_VecStorage3_osg_Real64", init<  >())
        .def("setValues", &osg::VecStorage3<double>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::Real64> )
        .def("x", &osg::VecStorage3<double>::x)
        .def("y", &osg::VecStorage3<double>::y)
        .def("z", &osg::VecStorage3<double>::z)
    ;

    class_< osg::VecStorage3<float>, boost::noncopyable >("osg_VecStorage3_osg_Real32", init<  >())
        .def("setValues", &osg::VecStorage3<float>::setValues)
        .def("getSeparateValues", &osgwrap::VecStorage3_getSeparateValues_tuple<osg::Real32> )
        .def("x", &osg::VecStorage3<float>::x)
        .def("y", &osg::VecStorage3<float>::y)
        .def("z", &osg::VecStorage3<float>::z)
    ;

}

